﻿

using System;
using System.Collections.Generic;
using System.Data.Linq;
using System.Linq;
using WebApplicationProveedores.Base_Datos;

namespace WebApplicationProveedores
{
    public class BusinessLogic
    {

        public static float CrearOrdenCompra(string codigoArticulo, string nombreCliente, int cantidad, string codigoProveedor)
        {
            try
            {
                var db = new DataClassesDataContext();
                var proveedor = (from p in db.Proveedors where p.codigo == codigoProveedor select p).First();
                var articulo = (from a in db.Articulos where a.codigo == codigoArticulo select a).First();
                db.OrdenCompras.InsertOnSubmit(new OrdenCompra
                    {
                        idArticulo = articulo.id,
                        idProveedor = proveedor.id,
                        estado = "pendiente",
                        cantidad = cantidad,
                        cliente = nombreCliente,
                        fechaOrden = DateTime.Now,
                        total = cantidad*articulo.precio
                    });
                db.SubmitChanges();
                return (float) articulo.precio;
            }
            catch (Exception e)
            {
                return float.Parse("0.0");
            }
        }

        public IList<Ocompra > ConsultarOrdenesComprarProveedor(int usuario)
        {
            var db = new DataClassesDataContext();
            var ordenesCompra = from o in db.OrdenCompras 
                                join a in db.Articulos on o.idArticulo equals a.id
                                join p in db.Proveedors on o.idProveedor equals p.id
                                where o.idProveedor == usuario
                                select new Ocompra {articulo = a.articulo1, cantidad = o.cantidad, cliente = o.cliente, precio = a.precio, total = o.total};
            return ordenesCompra.ToList();
        }

        public int VerificarUsuario(string user, string pass)
        {
            var db = new DataClassesDataContext();
            var proveedor = (from p in db.Proveedors where p.usuario == user && p.contraseña == pass select p);
            if (proveedor.Count() != 0)
                return proveedor.First().id;
            return 0;
        }
    }

    public class Ocompra
    {
        public string articulo { get; set; }
        public int cantidad { get; set; }
        public double precio { get; set; }
        public double total { get; set; }
        public string cliente { get; set; }

    }
}